Incluye análisis exploratorio y visualizaciones previas al modelado.Este proyecto busca analizar el comportamiento del turismo en Costa Rica y predecir la cantidad de visitantes anual o mensual, considerando factores como el clima, el país de origen de los turistas y eventos relevantes.¶
In [1]:
import pandas as pd
from src.datos.gestorDatos import GestorDatos
from src.api.api_Open import ClienteAPI
from src.basedatos.gestorBaseDatos import GestorBaseDatos
from src.eda.eda_exploracion import ProcesadorEDA
from src.visualizacion.graficos import Visualizador
from src.helpers.utilidades import Utilidades
from src.modelos.ModeloML import ModeloML
Pruebas iniciales / Fuentes de Datos¶
Implementando\Usando clase GestorDatos para la lectura del excel en la hoja "Llegadas"¶
In [3]:
data_turismo_llegadas = GestorDatos(r"D:\Proyecto_Turismo\data\processed\data_turismo.xlsx")
data_turismo_llegadas.cargar_hoja("Llegadas")
print(data_turismo_llegadas.datos.head())
Hoja 'Llegadas' cargada correctamente.
Año Llegadas_internacionales
0 1951 20225
1 1952 23441
2 1953 23344
3 1954 19387
4 1955 21637
Implementando\Usando clase GestorDatos para la lectura del excel en la hoja "Todas_vias"¶
In [4]:
data_turismo_Tvias = GestorDatos(r"D:\Proyecto_Turismo\data\processed\data_turismo.xlsx")
data_turismo_Tvias.cargar_hoja("Todas_vias")
print(data_turismo_Tvias.datos.head())
Hoja 'Todas_vias' cargada correctamente.
Pais 2017 2018 2019 2020 2021 2022 2023 \
0 Canadá 201921 217006 234621 115632 53185 183678 260744
1 EstadosUnidos 1199241 1265067 1334777 434775 868986 1290038 1473620
2 México 106783 98918 97173 20603 36621 59786 85674
3 Belice 970 964 1103 203 274 517 782
4 ElSalvador 81091 76937 78948 20898 12300 28173 31849
2024
0 272256
1 1621340
2 96129
3 720
4 28258
Implementando\Usando clase GestorDatos para la lectura del excel en la hoja "Todas_vias_mes"¶
In [5]:
data_turismo = GestorDatos(r"D:\Proyecto_Turismo\data\processed\data_turismo.xlsx")
data_turismo.cargar_hoja("Todas_vias_mes")
print(data_turismo.datos.head())
Hoja 'Todas_vias_mes' cargada correctamente.
Mes 2012 2013 2014 2015 2016 2017 2018 2019 \
0 Enero 272718 278426 297935 292555 326227 325712 336894 355321
1 Febrero 228597 230581 247182 253329 287090 289723 303606 312774
2 Marzo 239386 249828 257320 265495 306307 304196 328688 335558
3 Abril 195456 197034 213458 221141 233402 266671 260366 262016
4 Mayo 160185 168294 176412 180102 204565 208584 206930 211598
2020 2021 2022 2023 2024
0 358665 62200 188200 272444 299194
1 341008 55252 200164 278296 317830
2 162994 89263 243245 293555 350300
3 8342 89284 213714 236611 242511
4 3803 95854 176237 187399 216702
Consulta de prueba para la clase ClienteAPI¶
In [5]:
consl= ClienteAPI("https://archive-api.open-meteo.com/v1/era5")
print(consl.consultar_clima("9.93","84.08","2020-01-01","2020-01-02","temperature_2m_max,precipitation_sum","America/Costa_Rica"))
{'latitude': 9.947276, 'longitude': 84.09449, 'generationtime_ms': 44.79789733886719, 'utc_offset_seconds': -21600, 'timezone': 'America/Costa_Rica', 'timezone_abbreviation': 'GMT-6', 'elevation': 0.0, 'daily_units': {'time': 'iso8601', 'temperature_2m_max': '°C', 'precipitation_sum': 'mm'}, 'daily': {'time': ['2020-01-01', '2020-01-02'], 'temperature_2m_max': [28.2, 27.9], 'precipitation_sum': [0.3, 1.4]}}
Utilizando SQL Server y la clase GestorBaseDatos para agregar datos a tabla sql desde un excel "Llegadas"¶
In [6]:
db_turismo_llegadas = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
db_turismo_llegadas.insertar_data("Llegadas",data_turismo_llegadas.datos)
db_turismo_llegadas.cerrar_conexion()
<>:1: SyntaxWarning: invalid escape sequence '\S'
<>:1: SyntaxWarning: invalid escape sequence '\S'
C:\Users\woroz\AppData\Local\Temp\ipykernel_6092\3398070820.py:1: SyntaxWarning: invalid escape sequence '\S'
db_turismo_llegadas = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
Conexión a SQL Server establecida correctamente. Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Consulta SQL generada: INSERT INTO Llegadas ([Año], [Llegadas_internacionales]) VALUES (?, ?) Datos insertados correctamente en la tabla Llegadas. Conexión cerrada correctamente.
Utilizando SQL Server y la clase GestorBaseDatos para agregar datos a tabla sql desde un excel "Todas_vias"¶
In [7]:
db_turismo_Tvias = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
db_turismo_Tvias.insertar_data("Todas_vias",data_turismo_Tvias.datos)
db_turismo_Tvias.cerrar_conexion()
Conexión a SQL Server establecida correctamente. Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias ([Pais], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?) Datos insertados correctamente en la tabla Todas_vias. Conexión cerrada correctamente.
<>:1: SyntaxWarning: invalid escape sequence '\S'
<>:1: SyntaxWarning: invalid escape sequence '\S'
C:\Users\woroz\AppData\Local\Temp\ipykernel_6092\3972715633.py:1: SyntaxWarning: invalid escape sequence '\S'
db_turismo_Tvias = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
Utilizando SQL Server y la clase GestorBaseDatos para agregar datos a tabla sql desde un excel "Todas_vias_mes"¶
In [8]:
db_turismo = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
db_turismo.insertar_data("Todas_vias_mes",data_turismo.datos)
db_turismo.cerrar_conexion()
Conexión a SQL Server establecida correctamente. Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Consulta SQL generada: INSERT INTO Todas_vias_mes ([Mes], [2012], [2013], [2014], [2015], [2016], [2017], [2018], [2019], [2020], [2021], [2022], [2023], [2024]) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) Datos insertados correctamente en la tabla Todas_vias_mes. Conexión cerrada correctamente.
<>:1: SyntaxWarning: invalid escape sequence '\S'
<>:1: SyntaxWarning: invalid escape sequence '\S'
C:\Users\woroz\AppData\Local\Temp\ipykernel_6092\2829672258.py:1: SyntaxWarning: invalid escape sequence '\S'
db_turismo = GestorBaseDatos("LAPTOP-DCQFQTCG\SQLEXPRESS","Turismo","sa","progra")
EDA y Visualización¶
In [9]:
data_Tvias = Utilidades(data_turismo_Tvias.datos)
modf_Tvias = data_Tvias.transformar_columnas_a_filas("Pais","Año","Cantidad de turistas")
print(modf_Tvias.head())
Pais Año Cantidad de turistas 0 Canadá 2017 201921 1 EstadosUnidos 2017 1199241 2 México 2017 106783 3 Belice 2017 970 4 ElSalvador 2017 81091
In [10]:
graf_Tvias = Visualizador(modf_Tvias)
graf_Tvias.grafico_barras_horizontal(
columna_x="Cantidad de turistas",
columna_y="Pais",
columna_categoria="Año",
titulo_x="Cantidad de turistas",
titulo_y="Pais",
titulo="Distribución de turistas por país y año"
)
Visualizacion llegadas internacionales¶
In [11]:
turismo_graf = Visualizador(data_turismo_llegadas.datos)
turismo_distr = turismo_graf.grafico_barras("Año","Llegadas_internacionales","Años","Llegadas Internacionales","Distribución de Llegadas Internacionales a Costa Rica(1951-2024)")
Visualización de tendencias de llegada según el clima en el año 2020.¶
In [12]:
# Extraer los datos relevantes de la respuesta
consult2020= ClienteAPI("https://archive-api.open-meteo.com/v1/era5")
result_2020=consult2020.consultar_clima("9.93","84.08","2020-01-01","2020-12-31","temperature_2m_max,precipitation_sum","America/Costa_Rica")
#Extracion de datos necesarios
datos_diarios_2020 = result_2020["daily"]
# Creacion DF
df_clima_2020 = pd.DataFrame(datos_diarios_2020)
print(df_clima_2020.head())
time temperature_2m_max precipitation_sum 0 2020-01-01 28.2 0.3 1 2020-01-02 27.9 1.4 2 2020-01-03 28.1 0.2 3 2020-01-04 27.9 0.3 4 2020-01-05 27.8 0.4
In [13]:
#DF clima2020
df_clima_2020 = ProcesadorEDA(df_clima_2020)
clima_2020=df_clima_2020.pr2_formato_mean_mes("time",["temperature_2m_max", "precipitation_sum"])
print(clima_2020)
Promedios calculados correctamente.
Mes temperature_2m_max precipitation_sum
0 Enero 27.474194 0.406452
1 Febrero 27.241379 0.286207
2 Marzo 27.874194 0.058065
3 Abril 29.303333 0.493333
4 Mayo 29.958065 5.496774
5 Junio 29.603333 3.596667
6 Julio 29.116129 6.948387
7 Agosto 29.038710 1.167742
8 Septiembre 28.820000 8.443333
9 Octubre 28.670968 2.548387
10 Noviembre 28.063333 14.403333
11 Diciembre 27.461290 13.403226
In [14]:
#Union de df
data_turismo20 = data_turismo.datos[["Mes", "2020"]]
print(data_turismo20)
Mes 2020 0 Enero 358665 1 Febrero 341008 2 Marzo 162994 3 Abril 8342 4 Mayo 3803 5 Junio 7210 6 Julio 1022 7 Agosto 2357 8 Setiembre 3817 9 Octubre 10147 10 Noviembre 37573 11 Diciembre 74974
In [15]:
union_2020 = ProcesadorEDA(clima_2020)
df_2020 = union_2020.combinar_columnas(data_turismo20,["Mes","temperature_2m_max", "precipitation_sum"],["Mes","2020"])
print(df_2020.head(20))
Columnas combinadas correctamente.
Mes temperature_2m_max precipitation_sum 2020
0 Enero 27.474194 0.406452 358665
1 Febrero 27.241379 0.286207 341008
2 Marzo 27.874194 0.058065 162994
3 Abril 29.303333 0.493333 8342
4 Mayo 29.958065 5.496774 3803
5 Junio 29.603333 3.596667 7210
6 Julio 29.116129 6.948387 1022
7 Agosto 29.038710 1.167742 2357
8 Octubre 28.670968 2.548387 10147
9 Noviembre 28.063333 14.403333 37573
10 Diciembre 27.461290 13.403226 74974
In [16]:
#Grafico
visualizador = Visualizador(df_2020)
visualizador.pr2_grafico_clima(
columna_x="Mes",
titulo_x="Meses",
columna_y1="2020",
titulo_y1="Llegadas Turísticas",
columna_y2="precipitation_sum",
titulo_y2="Precipitación (mm)",
columna_y3="temperature_2m_max",
titulo_y3="Temperatura Máxima (°C)",
titulo="Relación Clima y Llegadas Turísticas en 2020"
)
Visualización de tendencias de llegada según el clima en el año 2021¶
In [17]:
# Extraer los datos relevantes de la respuesta
consult2021= ClienteAPI("https://archive-api.open-meteo.com/v1/era5")
result_2021=consult2021.consultar_clima("9.93","84.08","2021-01-01","2021-12-31","temperature_2m_max,precipitation_sum","America/Costa_Rica")
#Extracion de datos necesarios
datos_diarios_2021 = result_2021["daily"]
# Creacion DF
df_clima_2021 = pd.DataFrame(datos_diarios_2021)
print(df_clima_2021.head())
time temperature_2m_max precipitation_sum 0 2021-01-01 27.5 1.8 1 2021-01-02 27.6 1.7 2 2021-01-03 27.9 7.9 3 2021-01-04 27.0 25.2 4 2021-01-05 28.0 3.8
In [18]:
#DF clima2021
df_clima_2021 = ProcesadorEDA(df_clima_2021)
clima_2021=df_clima_2021.pr2_formato_mean_mes("time",["temperature_2m_max", "precipitation_sum"])#metodo
print(clima_2021)
Promedios calculados correctamente.
Mes temperature_2m_max precipitation_sum
0 Enero 27.325806 7.116129
1 Febrero 26.889286 1.525000
2 Marzo 28.235484 0.277419
3 Abril 28.990000 1.876667
4 Mayo 29.796774 4.396774
5 Junio 29.543333 2.016667
6 Julio 29.206452 3.054839
7 Agosto 28.929032 3.929032
8 Septiembre 28.793333 5.083333
9 Octubre 28.522581 10.783871
10 Noviembre 27.943333 13.240000
11 Diciembre 28.287097 2.145161
In [19]:
#Union de df
data_turismo21 = data_turismo.datos[["Mes", "2021"]]
print(data_turismo21)
Mes 2021 0 Enero 62200 1 Febrero 55252 2 Marzo 89263 3 Abril 89284 4 Mayo 95854 5 Junio 124670 6 Julio 154706 7 Agosto 122162 8 Setiembre 85183 9 Octubre 100102 10 Noviembre 151701 11 Diciembre 216678
In [20]:
union_2021 = ProcesadorEDA(clima_2021)
df_2021 = union_2021.combinar_columnas(data_turismo21,["Mes","temperature_2m_max", "precipitation_sum"],["Mes","2021"])
print(df_2021.head(20))
Columnas combinadas correctamente.
Mes temperature_2m_max precipitation_sum 2021
0 Enero 27.325806 7.116129 62200
1 Febrero 26.889286 1.525000 55252
2 Marzo 28.235484 0.277419 89263
3 Abril 28.990000 1.876667 89284
4 Mayo 29.796774 4.396774 95854
5 Junio 29.543333 2.016667 124670
6 Julio 29.206452 3.054839 154706
7 Agosto 28.929032 3.929032 122162
8 Octubre 28.522581 10.783871 100102
9 Noviembre 27.943333 13.240000 151701
10 Diciembre 28.287097 2.145161 216678
In [21]:
#Grafico
visualizador = Visualizador(df_2021)
visualizador.pr2_grafico_clima(
columna_x="Mes",
titulo_x="Meses",
columna_y1="2021",
titulo_y1="Llegadas Turísticas",
columna_y2="precipitation_sum",
titulo_y2="Precipitación (mm)",
columna_y3="temperature_2m_max",
titulo_y3="Temperatura Máxima (°C)",
titulo="Relación Clima y Llegadas Turísticas en 2021"
)
Visualización de tendencias de llegada según el clima en el año 2019¶
In [22]:
# Extraer los datos relevantes de la respuesta
consult2019= ClienteAPI("https://archive-api.open-meteo.com/v1/era5")
result_2019=consult2019.consultar_clima("9.93","84.08","2019-01-01","2019-12-31","temperature_2m_max,precipitation_sum","America/Costa_Rica")
#Extracion de datos necesarios
datos_diarios_2019 = result_2019["daily"]
# Creacion DF
df_clima_2019 = pd.DataFrame(datos_diarios_2019)
print(df_clima_2019.head())
time temperature_2m_max precipitation_sum 0 2019-01-01 26.9 0.0 1 2019-01-02 27.5 0.0 2 2019-01-03 27.2 0.0 3 2019-01-04 26.7 0.8 4 2019-01-05 26.9 0.0
In [23]:
#DF clima2021
df_clima_2019 = ProcesadorEDA(df_clima_2019)
clima_2019=df_clima_2019.pr2_formato_mean_mes("time",["temperature_2m_max", "precipitation_sum"])
print(clima_2019)
Promedios calculados correctamente.
Mes temperature_2m_max precipitation_sum
0 Enero 27.180645 0.983871
1 Febrero 27.410714 0.535714
2 Marzo 28.332258 0.029032
3 Abril 29.650000 1.446667
4 Mayo 29.751613 0.693548
5 Junio 29.656667 3.100000
6 Julio 29.003226 3.377419
7 Agosto 28.754839 3.706452
8 Septiembre 28.263333 5.533333
9 Octubre 28.187097 10.232258
10 Noviembre 28.553333 4.460000
11 Diciembre 27.783871 3.103226
In [24]:
#Union de df
data_turismo19 = data_turismo.datos[["Mes", "2019"]]
print(data_turismo19)
Mes 2019 0 Enero 355321 1 Febrero 312774 2 Marzo 335558 3 Abril 262016 4 Mayo 211598 5 Junio 248696 6 Julio 269376 7 Agosto 225299 8 Setiembre 160206 9 Octubre 185599 10 Noviembre 245643 11 Diciembre 326922
In [25]:
union_2019 = ProcesadorEDA(clima_2019)
df_2019 = union_2019.combinar_columnas(data_turismo19,["Mes","temperature_2m_max", "precipitation_sum"],["Mes","2019"])
print(df_2019.head(20))
Columnas combinadas correctamente.
Mes temperature_2m_max precipitation_sum 2019
0 Enero 27.180645 0.983871 355321
1 Febrero 27.410714 0.535714 312774
2 Marzo 28.332258 0.029032 335558
3 Abril 29.650000 1.446667 262016
4 Mayo 29.751613 0.693548 211598
5 Junio 29.656667 3.100000 248696
6 Julio 29.003226 3.377419 269376
7 Agosto 28.754839 3.706452 225299
8 Octubre 28.187097 10.232258 185599
9 Noviembre 28.553333 4.460000 245643
10 Diciembre 27.783871 3.103226 326922
In [26]:
#Grafico
visualizador = Visualizador(df_2019)
visualizador.pr2_grafico_clima(
columna_x="Mes",
titulo_x="Meses",
columna_y1="2019",
titulo_y1="Llegadas Turísticas",
columna_y2="precipitation_sum",
titulo_y2="Precipitación (mm)",
columna_y3="temperature_2m_max",
titulo_y3="Temperatura Máxima (°C)",
titulo="Relación Clima y Llegadas Turísticas en 2019"
)
Mapa regiones de origen y destino(Costa Rica).¶
In [6]:
# Exclusion de registros
data_tur = ProcesadorEDA(data_turismo_Tvias.datos)
paises_cr = data_tur.excluir_registros("Pais",["OtrosEuropa","OTRASZONAS2","OtrosCaribe"])
print(paises_cr["Pais"].unique())
Registros excluidos correctamente. ['Canadá' 'EstadosUnidos' 'México' 'Belice' 'ElSalvador' 'Guatemala' 'Honduras' 'Nicaragua' 'Panamá' 'Argentina' 'Bolivia' 'Brasil' 'Chile' 'Colombia' 'Ecuador' 'Guyana' 'GuyanaFrancesa' 'Paraguay' 'Perú' 'Surinam' 'Uruguay' 'Venezuela' 'Bahamas' 'Bermuda' 'Cuba' 'Haití' 'Jamaica' 'PuertoRico1' 'RepúblicaDominicana' 'TrinidadyTobago' 'Alemania' 'Austria' 'Bélgica' 'Dinamarca' 'Eslovaquia' 'España' 'Finlandia' 'Francia' 'Hungría' 'Irlanda' 'Israel' 'Italia' 'Noruega' 'PaísesBajos' 'Polonia' 'Portugal' 'ReinoUnido' 'RepublicaCheca' 'Rumanía' 'Rusia' 'Suecia' 'Suiza']
In [7]:
traducciones = {
"EstadosUnidos": "United States",
"GuyanaFrancesa": "French Guiana",
"PuertoRico1": "Puerto Rico",
"RepúblicaDominicana": "Dominican Republic",
"TrinidadyTobago": "Trinidad and Tobago",
"PaísesBajos": "Netherlands",
"ReinoUnido": "United Kingdom",
"RepublicaCheca": "Czech Republic",
"ElSalvador": "El Salvador"
}
# Aplicación de las traducciones
paises_cr["Pais"].replace(traducciones, inplace=True)
# Clase ClienteAPI URL base
cliente = ClienteAPI("https://geocode.maps.co")
# Creación de lista con solo los paises
paises = paises_cr["Pais"].tolist()
# Uso de la API para obtener coordenadas
df_coordenadas = cliente.obtener_coordenadas(paises)
# Df con el pais y sus coordenadas
print(df_coordenadas.head())
C:\Users\woroz\AppData\Local\Temp\ipykernel_15212\2430461933.py:14: FutureWarning: A value is trying to be set on a copy of a DataFrame or Series through chained assignment using an inplace method.
The behavior will change in pandas 3.0. This inplace method will never work because the intermediate object on which we are setting values always behaves as a copy.
For example, when doing 'df[col].method(value, inplace=True)', try using 'df.method({col: value}, inplace=True)' or df[col] = df[col].method(value) instead, to perform the operation inplace on the original object.
paises_cr["Pais"].replace(traducciones, inplace=True)
C:\Users\woroz\AppData\Local\Temp\ipykernel_15212\2430461933.py:14: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy
paises_cr["Pais"].replace(traducciones, inplace=True)
Procesando país 1/52: Canadá
Procesando país 2/52: United States
Procesando país 3/52: México
Procesando país 4/52: Belice
Procesando país 5/52: El Salvador
Procesando país 6/52: Guatemala
Procesando país 7/52: Honduras
Procesando país 8/52: Nicaragua
Procesando país 9/52: Panamá
Procesando país 10/52: Argentina
Procesando país 11/52: Bolivia
Procesando país 12/52: Brasil
Procesando país 13/52: Chile
Procesando país 14/52: Colombia
Procesando país 15/52: Ecuador
Procesando país 16/52: Guyana
Procesando país 17/52: French Guiana
Procesando país 18/52: Paraguay
Procesando país 19/52: Perú
Procesando país 20/52: Surinam
Procesando país 21/52: Uruguay
Procesando país 22/52: Venezuela
Procesando país 23/52: Bahamas
Procesando país 24/52: Bermuda
Procesando país 25/52: Cuba
Procesando país 26/52: Haití
Procesando país 27/52: Jamaica
Procesando país 28/52: Puerto Rico
Procesando país 29/52: Dominican Republic
Procesando país 30/52: Trinidad and Tobago
Procesando país 31/52: Alemania
Procesando país 32/52: Austria
Procesando país 33/52: Bélgica
Procesando país 34/52: Dinamarca
Procesando país 35/52: Eslovaquia
Procesando país 36/52: España
Procesando país 37/52: Finlandia
Procesando país 38/52: Francia
Procesando país 39/52: Hungría
Procesando país 40/52: Irlanda
Procesando país 41/52: Israel
Procesando país 42/52: Italia
Procesando país 43/52: Noruega
Procesando país 44/52: Netherlands
Procesando país 45/52: Polonia
Procesando país 46/52: Portugal
Procesando país 47/52: United Kingdom
Procesando país 48/52: Czech Republic
Procesando país 49/52: Rumanía
Procesando país 50/52: Rusia
Procesando país 51/52: Suecia
Procesando país 52/52: Suiza
País Latitud Longitud
0 Canadá 61.066692 -107.991707
1 United States 39.783730 -100.445882
2 México 19.432630 -99.133178
3 Belice 17.120494 -88.685903
4 El Salvador 13.800038 -88.914068
In [29]:
# Grafico (mapa interactivo)
visualizador = Visualizador(df_coordenadas)
visualizador.pr3_mapa_interactivo()
In [8]:
visualizador02 = Visualizador(df_coordenadas)
visualizador02.pr3_mapa_interactivo_02()
Make this Notebook Trusted to load map: File -> Trust Notebook
Modelos Supervisados¶
Algoritmo de Regresión Lineal¶
In [31]:
modelo = ModeloML(data_turismo_Tvias)
modelo.entrenar_modelo(tipo="lineal")
modelo.graficar("Predicción de turistas por país (Regresión Lineal)")
D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`
Algoritmo Random Forest¶
In [32]:
modelo2 = ModeloML(data_turismo_Tvias)
modelo2.entrenar_modelo(tipo="forest")
modelo2.graficar("Predicción de turistas por país (Random Forest)")
D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:47: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()` D:\Proyecto_Turismo_Final\src\modelos\ModeloML.py:48: PerformanceWarning: DataFrame is highly fragmented. This is usually the result of calling `frame.insert` many times, which has poor performance. Consider joining all columns at once using pd.concat(axis=1) instead. To get a de-fragmented frame, use `newframe = frame.copy()`